home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 3: CDPD 3
/
Almathera Ten on Ten - Disc 3: CDPD3.iso
/
scope
/
151-175
/
scopedisk152
/
cursor
/
cursor.doc
< prev
next >
Wrap
Text File
|
1995-03-19
|
4KB
|
77 lines
Cursor V1.0 - A freely distributable BASIC-Compiler
(c) Copyright 1990 by Jürgen Forster
This program is freeware. This means you may use it and give it to any other
person, but you are not allowed to sell it except for a small copying fee.
'Cursor' is a 3-pass compiler for BASIC-programs written with the
AmigaBASIC-interpreter from Commodore. Not all BASIC-commands are
implemented, but 'Cursor' is at least able to compile itsself. For a list
of more or less supported BASIC-commands/functions look at the file
'Functions.asc'. Though 'Cursor' recognizes most of the AmigaBASIC-commands,
many of them cause the compiled program to quit with an 'advanced feature'-
errormessage.
If you want to use 'Cursor' copy the file 'Cursor' to your C:-directory and
the file 'bas_runtime.library' to your LIBS:-directory. All programs
compiled with 'Cursor' need this library, and as 'Cursor' itsself is written
in AmigaBASIC, 'Cursor' needs the library, too. As 'Cursor' uses the four
math-libraries (mathffp.library, mathtrans.library, mathieeedoubbas.library,
mathieeedoubtrans.library) for floating-point operations, a compiled program
always opens these four libraries (even if you only use integer variables),
so you must have these four libraries in your LIBS: directory (or of course
in the ROM). 'Cursor' writes one temporary file into the T: directory, so it
is best to put T: into the RAM-disk.
To compile a BASIC-program start 'Cursor'. It will ask you for the name
of the programm (which must have an '.bas' extension and must be in ASCII-
format (use SAVE "name",A in AmigaBASIC), and will create an executable
without the extension. It will report any error found and stop after one
pass has been finished. ('Cursor' is not very fast at the moment, but I think
I'll fix this)
About compiled programs:
- all compiled programms are pure.
- the CALL/SUB-...STATIC-commands pass their parameters by value and result
and not by reference (as I think AmigaBASIC does).
- 'Cursor' uses buffers for input and output to files to speed I/O up.
- at the moment every compiled programs allocates 200000 Bytes of memory for
the BASIC-strings, you might need one megabyte to use 'Cursor' (I'll fix
this as soon as possible).
- the stack size can be very small, as the compiled programs allocate their
own memory for recursions (which are allowed)
- variables in subprograms are not (like in the AmigaBASIC-interpreter)
static ones
- errormessages will either be written to standard output (if it exists) or
a requester will appear
- if you make 'Cursor' write the linenumbers into the executable the
linenumber will be written after any errormessage (for debuging purposes)
- you can abort a compiled program almost always by using the windowclose-
gadget
- programs can be started from the CLI or the workbench
The main program 'Cursor' was written in Amiga-BASIC, the library
was written using the A68k-assembler (from Charlie Gibbs) and Blink (from
the Software Distillery).
As I have put a lot of work into 'Cursor' and there still is a lot
to be done, I want to ask you to send any sum of money to me if you like
and use this program and want to encourage me to improve it. (I don't want
to call 'Cursor' shareware as I don't want anyone who does not pay to have
a bad conscience).
'Cursor' is supplied as it is. I cannot be made responsible for any
damage caused by 'Cursor'. Use it at your own risk!
Please send bug reports, suggestions for improvements, money or anything
else to
Jürgen Forster
Lintheide 9
4800 Bielefeld 17
West-Germany
Tel.: 05208/1539